package main

import (
	"fmt"

)

/*

使用go语言实现五行五列盘龙数组
*/
func main  () {

	a := make([][]int,5)  //定义存放数据的切片
	for i :=range a{
		a[i] = make([]int,5)
	}
	count := 1
	for i :=0 ;i < 2; i++{  //5x5的列表转两圈即可完成，只剩下最中间的那个元素
		//向右读进
		for j := i;j < 5-i; j++{
			a[i][j] = count
			count++
		}
		//向下读取
		for j:=i+1;j<5-i;j++{
			a[j][5-i-1]=count
			count++
		}
		//向左读取
		for j:=5-i-2;j >= i;j--{
			a[5-i-1][j]=count
			count++
		}
		//向上读取
		for j:=5-i-2;j>i;j--{
			a[j][i]=count
			count++
		}

	}
	a[2][2]=25 //最中心的数直接赋值
	for i:=0;i<5;i++{
		for j:=0;j<5;j++{
			fmt.Printf("%4d",a[i][j])  //每个数占用4个字符
		}
		fmt.Println()//换行
	}

}
